package com.hwd.gmall.order.service;

import com.hwd.gmall.model.order.OrderInfo;

/**
 * 订单服务相关的接口类
 *
 * @author 黄伟东/Victor
 * @date 2022/5/7 20:06
 */
public interface OrderService {

    /**
     * 新增订单
     *
     * @param orderInfo 新增订单对象
     */
    void addOrder(OrderInfo orderInfo);

    /**
     * 主动取消订单，逻辑取消，即修改订单状态
     *
     * @param orderId     订单id
     * @param orderStatus 订单状态
     */
    void cancelOrder(Long orderId, String orderStatus);

    /**
     * 取消订单，逻辑取消，即修改订单状态
     *
     * @param orderId     订单id
     * @param orderStatus 订单状态
     * @param username    用户名
     */
    void cancelOrder(Long orderId, String orderStatus, String username);

    /**
     * 根据支付结果修改订单的状态
     *
     * @param messageString 支付结果
     */
    void updateOrderStatus(String messageString);
}
